package cn.ld.module.infra.service.demo.demo02;

import java.util.*;
import jakarta.validation.*;

import cn.ld.module.infra.controller.admin.demo.demo02.vo.Demo02CategoryListInVO;
import cn.ld.module.infra.controller.admin.demo.demo02.vo.Demo02CategorySaveInVO;
import cn.ld.module.infra.dal.entity.demo.demo02.Demo02CategoryEntity;

/**
 * 示例分类 Service 接口
 *
 * @author 蓝盾
 */
public interface Demo02CategoryService {

    /**
     * 创建示例分类
     *
     * @param createInVO 创建信息
     * @return 编号
     */
    Long createDemo02Category(@Valid Demo02CategorySaveInVO createInVO);

    /**
     * 更新示例分类
     *
     * @param updateInVO 更新信息
     */
    void updateDemo02Category(@Valid Demo02CategorySaveInVO updateInVO);

    /**
     * 删除示例分类
     *
     * @param id 编号
     */
    void deleteDemo02Category(Long id);

    /**
     * 获得示例分类
     *
     * @param id 编号
     * @return 示例分类
     */
    Demo02CategoryEntity getDemo02Category(Long id);

    /**
     * 获得示例分类列表
     *
     * @param listInVO 查询条件
     * @return 示例分类列表
     */
    List<Demo02CategoryEntity> getDemo02CategoryList(Demo02CategoryListInVO listInVO);

}